#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @File   : d_io_pickling.py
# @Email  : xuexia_xu@feidee.com
# @Time   : 2024/4/2 13:59
# @Desc   : 序列化
"""
我们把变量从内存中变成可存储或传输的过程称之为序列化，在Python中叫pickling
序列化之后，就可以把序列化后的内容写入磁盘，或者通过网络传输到别的机器上。
"""

import pickle

d = dict(name='Bob', age=23, socre=80)
print("pickle.dumps:", pickle.dumps(d))
"""
pickle.dumps()方法把任意对象序列化成一个bytes，然后，就可以把这个bytes写入文件。
或者用另一个方法pickle.dump()直接把对象序列化后写入一个file-like Object
"""

with open('dump.txt', 'wb') as f1:
    # a = pickle.dumps(d)
    # f1.write(a)
    pickle.dump(d, f1)

with open('dump.txt', 'rb') as f2:
    d2 = pickle.load(f2)
    print(d2)
